home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Brotikasten
/
BROTCD01.iso
/
geos
/
geos30.d64
/
icon grabber
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-08-05
|
3KB
|
109 lines
1000 REM THIS PROGRAM WILL EXAMINE A
1010 REM DISK FOR THE GEOS ICON THAT
1020 REM MATCHES THE GIVEN FILE NAME.
1030 REM THE RESULT IS THE ICON IN
1040 REM MEMORY AS DATA STATEMENTS.
1050 REM
1060 REM THIS WAY YOU CAN GET AN ICON
1070 REM IN MEMORY, LIST THE LINES,TYPE
1080 REM NEW, THEN LOAD IN THE ICON
1090 REM CHANGER PROGRAM AND HIT RETURN
1100 REM OVER THE LINES TO ADD THEM.
1110 REM
1120 REM THIS PROGRAM IS A MESS MADE
1130 REM BY JOE BUCKLEY FROM THE GUTTED
1140 REM REMAINS OF TWO OTHER PROGRAMS:
1150 REM
1160 REM ICON CHANGER
1170 REM BY DOUGLAS CURTIS
1180 REM
1190 REM SEC2DATA
1200 REM BY RANDY WINCHESTER
1210 REM
1220 REM
1230 POKE53281,0:POKE53280,0:POKE646,13:POKE53269,0:DN$="":IU=0
1240 PRINT"[147]":PRINTSPC(12)"[215][146] ICON GRABBER [215][146]"
1250 PRINT"ENTER THE FILENAME OF THE ICON YOU WANT TO CAPTURE"
1260 INPUT"->";IN$
1270 PRINT"FILENAME SELECTED IS >"IN$"<"
1280 PRINT"IS THIS CORRECT ";
1290 INPUT" Y[157][157][157]";AN$:IF AN$<>"Y"THEN1000
1300 INPUT"STARTING LINE NUMBER";LN
1310 FORCT=1TO16
1320 PD$=PD$+CHR$(32)
1330 NEXTCT
1340 IN$=LEFT$(IN$+PD$,16)
1350 OPEN15,8,15,"I0"
1360 INPUT#15,ER$,EM$:IFER$<>"00"THENPRINTER$+" "+EM$:CLOSE15:END
1370 T=18:S=1
1380 OPEN2,8,2,"#"
1390 PRINT#15,"U1";2;0;T;S:FC=0:FP=2:BP=5
1400 PRINT#15,"B-P";2;0:GET#2,NT$,NS$:T=ASC(NT$+CHR$(0)):S=ASC(NS$+CHR$(0))
1410 PRINT#15,"B-P";2;FP:GET#2,FT$:FT$=FT$+CHR$(0):IFASC(FT$)=0THEN1550
1420 PRINT#15,"B-P";2;BP
1430 FORCT=1TO16
1440 GET#2,BI$
1450 IFBI$=""THENBI$=CHR$(0)
1460 FI=ASC(BI$)
1470 IFFI>127THENFI=FI-128
1480 IFFI<32THENFI=63
1490 IFFI>96ANDFI<123THENFI=FIAND223
1500 IFFI=34THENFI=63
1510 DN$=DN$+CHR$(FI)
1520 NEXTCT
1530 IFDN$=IN$THEN1580
1540 DN$=""
1550 FC=FC+1:IFFC=8ANDT<>0THEN1390
1560 IFFC=8ANDT=0THEN1660
1570 FP=FP+32:BP=BP+32:GOTO1410
1580 GET#2,IT$,IS$
1590 IT=ASC(IT$+CHR$(0)):IS=ASC(IS$+CHR$(0))
1600 PRINT#15,"U1";2;0;IT;IS
1610 PRINT#15,"B-P";2;5
1620 FORCT=1TO63
1630 GET#2,ID$:ID=ASC(ID$+CHR$(0))
1640 POKE831+CT,ID
1650 NEXTCT:GOTO 1670
1660 PRINT"[147]FILE NOT FOUND!":CLOSE2:CLOSE15:END
1670 BU=831
1680 CLOSE2:CLOSE15
1690 Q$=CHR$(34)
1700 OPEN15,8,15,"I0"
1710 GOSUB1720:GOTO1750
1720 INPUT#15,EN$,EM$,ET$,ES$
1730 IF EN$<>"00"GOTO2020
1740 RETURN
1750 OPEN2,8,2,"#"
1760 OPEN3,8,3,"TEMPDATA,S,W"
1770 PRINT#3,LN;"REM --->"
1780 PRINT"[147]WRITING DATA FILE . . ."
1790 FOR C1=0TO6
1800 LN=LN+1
1810 PRINT#3,LN;"DATA";
1820 FOR C2=0TO7
1830 BU=BU+1:B$=CHR$(PEEK(BU)):IF B$=""THEN B$=CHR$(0)
1840 XX$=STR$(ASC(B$)):YY$=RIGHT$("000"+RIGHT$(XX$,LEN(XX$)-1),3)
1850 PRINT#3,YY$;:IF C2<7THEN PRINT#3,CHR$(44);
1860 NEXT
1870 PRINT#3,CHR$(13)
1880 NEXT
1890 LN=LN+1
1900 PRINT#3,LN;"DATA";
1910 FOR C2=0TO6
1920 BU=BU+1:B$=CHR$(PEEK(BU)):IF B$=""THEN B$=CHR$(0)
1930 XX$=STR$(ASC(B$)):YY$=RIGHT$("000"+RIGHT$(XX$,LEN(XX$)-1),3)
1940 PRINT#3,YY$;:IF C2<6THEN PRINT#3,CHR$(44);
1950 NEXT
1960 PRINT#3,CHR$(13)
1970 LN=LN+1
1980 PRINT#3,LN;"REM"
1990 PRINT#3,"?"Q$"OPEN1,8,15,"Q$"C[200](34)"Q$"S0:TEMPDATA"Q$"C[200](34)"Q$":CLOSE15"
2000 PRINT#3,"PRINT"Q$"[145][145][145][145][145][145][145][145][145][145]"Q$
2010 PRINT#3,"CLOSE2:POKE812,47:SYS65484"
2020 CLOSE3:CLOSE2
2030 CLOSE15
2040 PRINT"[147]";:PRINT:PRINT:PRINT"OPEN2,8,2,";Q$;
2050 PRINT"TEMPDATA";Q$;
2060 PRINT":POKE781,2:POKE812,73:SYS65478"
2070 PRINT"";:POKE198,1:POKE631,13:NEW